package br.com.livro.javapersistence.heranca.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;

import org.apache.commons.lang.builder.ToStringBuilder;

import br.com.livro.javapersistence.commons.model.CommonField;

@Entity
@PrimaryKeyJoinColumn(name = "solicitacaoClienteId")
public class SolicitacaoCliente extends Solicitacao {

	@Column(nullable = false)
	private Double descontoFidelidade;

	@Column(nullable = false)
	private boolean funcionario;

	/**
	 * 
	 */
	public SolicitacaoCliente() {
	}

	/**
	 * @param descontoFidelidade
	 * @param funcionario
	 * @param commonField
	 * @param quantidade
	 * @param solicitante
	 * @param valorTotal
	 */
	public SolicitacaoCliente(CommonField commonField, Integer quantidade, PessoaFisica solicitante, Double valorTotal, Double descontoFidelidade, boolean funcionario) {
		super(commonField, quantidade, solicitante, valorTotal);
		this.setDescontoFidelidade(descontoFidelidade);
		this.setFuncionario(funcionario);
	}

	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}
	
	public Double getDescontoFidelidade() {
		return descontoFidelidade;
	}

	public void setDescontoFidelidade(Double descontoFidelidade) {
		this.descontoFidelidade = descontoFidelidade;
	}

	public boolean isFuncionario() {
		return funcionario;
	}

	public void setFuncionario(boolean funcionario) {
		this.funcionario = funcionario;
	}
}
